The “Full-Stack” Developer

Let's explore who a full-stack developer is and what are the merits and demerits of being a generalist.

Who is a “full-stack” developer?#

Many generalists just aren’t. We all specialize in something because it is impossible to know everything. For a long while, the term “full-stack developer” was in vogue. This trended because it was a useful fiction:

  • It helped employers justify expensive hires as pluripotent deals (“Two in one!”).
  • It helped developers market themselves as capable of doing more.
  • It helped educators/Boot-camps sell the idea that you need full stack education.

The truth, of course, is that “full-stack” developers tended to be backend developers that learned a bit of JavaScript:

Half horse

With some specialized platform-as-a-service services like Firebase and Amplify, frontend devs could also get in on the game:

Half dragon

Of course, this is a tired meme now, and more enlightened takes, like hiring “full-stack teams,” have emerged.

Marketing yourself as a generalist is difficult#

It is also understood that marketing yourself as a generalist is more difficult because people don’t know what box to place you in. It can be a recipe for overpromising and under-delivering when it comes to working with you.

People don't know what box to place you in

Benefits of being generally capable#

However, there are clear benefits to being generally capable. If you are on a small startup team, you will generalize and handle things that you’ve never trained for, which makes you a GREAT generalist hire for future teams. Even in a large company, being able to speak the language of your counterparts can help you get what you need more effectively. Plus, nobody said that being a “generalist” has to mean exactly equal competence on all dimensions.

Leverage vs. Self Sufficiency

“T Shaped” and “Pi Shaped”